package com.mentaleye.dal.dao;

import java.util.List;
import java.util.Map;

import com.mentaleye.dal.model.Teacher;
import com.mentaleye.dal.model.TeacherExample;

public interface TeacherDao {
/**
 * 
 * @param teacher 传入需要添加的不允许为空的属性
 * @return boolean类型判断结果
 */
	boolean addTeacher(Teacher teacher);
	
	boolean updateTeacher(Teacher teacher);
	
	boolean updateTeacherStatus(List<Integer> ids,Teacher teacher);
	/**
	 * 
	 * @param ids  传入需要删除的记录编号的集合
	 * @return  返回boolean类型判断结果，成功为true
	 */
	boolean deleteTeacher(List<Integer> ids);
	/**
	 * 
	 * @param teacherExample   自动生成sql语句，查询语句可以为空，可以根据一些参数查询
	 * @return
	 */
	Teacher queryTeacherByNo(Integer teacherNo);
	
	List<Teacher> queryTeacherList(TeacherExample teacherExample);
	/**
	 * 
	 * @param map  传入map集合，进行模糊查询
	 * @return
	 */
	List<Teacher> queryTeacher(Map<String, Object> map);
	
	List<Teacher> queryRoleTeacher(Map<String, Object> map);
	
	List<Teacher> queryTeacherByIds(List<Integer> ids);
	
	public List<Teacher> queryTeacherByNotOaClass(Map<String, Object> map);
	
	List<Teacher> queryTeacherByNotInIds(List<Integer> ids);
	
	public List<Teacher> queryTeacherByDept(Map<String, Object> map);
	
	public List<Teacher> queryTeacher();
	
	public List<Teacher> queryAllTeacherByMap(Integer id);
	/**
	 * 
	 * @return 返回除掉已删除的所有教师
	 */
	public List<Teacher> queryAllTeacherNotDel();
}
